pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))
pairNs: empty set
cons: {1}
0: empty set
incr: {1}
oddNs: empty set
s: {1}
take: {1, 2}
nil: empty set
zip: {1, 2}
pair: {1, 2}
tail: {1}
repItems: {1}
↳ CSR
↳ CSDependencyPairsProof
pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))
pairNs: empty set
cons: {1}
0: empty set
incr: {1}
oddNs: empty set
s: {1}
take: {1, 2}
nil: empty set
zip: {1, 2}
pair: {1, 2}
tail: {1}
repItems: {1}
Using Improved CS-DPs we result in the following initial Q-CSDP problem.
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
ODDNS → INCR(pairNs)
ODDNS → PAIRNS
TAIL(cons(X, XS)) → XS
incr(oddNs)
oddNs
incr(XS)
take(N, XS)
zip(XS, YS)
repItems(XS)
incr on positions {1}
take on positions {1, 2}
zip on positions {1, 2}
repItems on positions {1}
cons on positions {1}
TAIL(cons(X, XS)) → U(XS)
U(incr(x_0)) → U(x_0)
U(take(x_0, x_1)) → U(x_0)
U(take(x_0, x_1)) → U(x_1)
U(zip(x_0, x_1)) → U(x_0)
U(zip(x_0, x_1)) → U(x_1)
U(repItems(x_0)) → U(x_0)
U(cons(x_0, x_1)) → U(x_0)
U(incr(oddNs)) → INCR(oddNs)
U(oddNs) → ODDNS
U(incr(XS)) → INCR(XS)
U(take(N, XS)) → TAKE(N, XS)
U(zip(XS, YS)) → ZIP(XS, YS)
U(repItems(XS)) → REPITEMS(XS)
pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ QCSDP
↳ QCSDPSubtermProof
U(incr(x_0)) → U(x_0)
U(take(x_0, x_1)) → U(x_0)
U(take(x_0, x_1)) → U(x_1)
U(zip(x_0, x_1)) → U(x_0)
U(zip(x_0, x_1)) → U(x_1)
U(repItems(x_0)) → U(x_0)
U(cons(x_0, x_1)) → U(x_0)
pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U(incr(x_0)) → U(x_0)
U(take(x_0, x_1)) → U(x_0)
U(take(x_0, x_1)) → U(x_1)
U(zip(x_0, x_1)) → U(x_0)
U(zip(x_0, x_1)) → U(x_1)
U(repItems(x_0)) → U(x_0)
U(cons(x_0, x_1)) → U(x_0)
↳ CSR
↳ CSDependencyPairsProof
↳ QCSDP
↳ QCSDependencyGraphProof
↳ QCSDP
↳ QCSDPSubtermProof
↳ QCSDP
↳ PIsEmptyProof
pairNs → cons(0, incr(oddNs))
oddNs → incr(pairNs)
incr(cons(X, XS)) → cons(s(X), incr(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, take(N, XS))
zip(nil, XS) → nil
zip(X, nil) → nil
zip(cons(X, XS), cons(Y, YS)) → cons(pair(X, Y), zip(XS, YS))
tail(cons(X, XS)) → XS
repItems(nil) → nil
repItems(cons(X, XS)) → cons(X, cons(X, repItems(XS)))